package com.x.erp.model;

import java.math.BigDecimal;
import java.util.Date;

import org.springframework.format.annotation.DateTimeFormat;

import com.x.framework.annotation.MappingColumn;
import com.x.framework.annotation.MappingTable;
import com.x.framework.model.BaseObject;

/**
 * 车辆销售信息
 */
@MappingTable(tableName = "ERP_CAR_SALE")
public class CarSale extends BaseObject {

	private static final long serialVersionUID = 1L;

	@MappingColumn(columnName = "SALE_ID", columnPk = true, columnLength = 32)
	private String saleId;// 销售ID

	@MappingColumn(columnName = "SALE_TYPE")
	private Integer saleType;// 销售类型（1：批发、2：直销、3：拍卖）

	@DateTimeFormat(pattern = "yyyy-MM-dd")
	@MappingColumn(columnName = "SALE_DEAL_DATE")
	private Date saleDealDate;// 成交日期

	@MappingColumn(columnName = "SALE_PRICE")
	private BigDecimal salePrice;// 成交价格（单位/万元）

	@MappingColumn(columnName = "SALE_REMARK")
	private String saleRemark;// 备注

	@MappingColumn(columnName = "SALE_PAY_TYPE")
	private Integer salePayType;// 付款类型（1：现款、2：按揭）

	@MappingColumn(columnName = "SALE_MORTGAGE_NAME")
	private String saleMortgageName;// 按揭公司

	@MappingColumn(columnName = "SALE_FIRST_PAYMENT")
	private BigDecimal saleFirstPayment;// 首付款

	@MappingColumn(columnName = "SALE_LOAN_LIMIT")
	private BigDecimal saleLoanLimit;// 贷款额度

	@MappingColumn(columnName = "SALE_MORTGAGE_CYCLE")
	private Integer saleMortgageCycle;// 按揭周期

	@MappingColumn(columnName = "SALE_MORTGAGE_PRICE")
	private BigDecimal saleMortgagePrice;// 按揭费用

	@MappingColumn(columnName = "SALE_MORTGAGE_DEPOSIT")
	private BigDecimal saleMortgageDeposit;// 按揭押金

	@MappingColumn(columnName = "SALE_DEPOSIT")
	private BigDecimal saleDeposit;// 定金（单位/元）

	@MappingColumn(columnName = "SALE_BALANCE")
	private BigDecimal saleBalance;// 余款（单位/元）

	@MappingColumn(columnName = "SALE_TRANSFER_FEE")
	private BigDecimal saleTransferFee;// 过户费用（单位/元）

	@MappingColumn(columnName = "SALE_COMMISSION")
	private BigDecimal saleCommission;// 佣金（单位/元）

	@MappingColumn(columnName = "SALE_BILL_PRICE")
	private BigDecimal saleBillPrice;// 开票费用（单位/元）

	@MappingColumn(columnName = "SALE_OTHER_PRICE")
	private BigDecimal saleOtherPrice;// 其它费用（单位/元）

	@MappingColumn(columnName = "SALE_BUYER_MOBILE")
	private String saleBuyerMobile;// 买家电话

	@MappingColumn(columnName = "SALE_BUYER_NAME")
	private String saleBuyerName;// 买家名称

	@MappingColumn(columnName = "SALE_BUYER_CARD_NO")
	private String saleBuyerCardNo;// 买家证件号

	@MappingColumn(columnName = "SALE_INSURANCE_STATE")
	private Integer saleInsuranceState;// 是否代办保险（1：代办、0：不代办）

	@MappingColumn(columnName = "SALE_INSURANCE_COMPANY")
	private String saleInsuranceCompany;// 保险公司

	@MappingColumn(columnName = "SALE_FORCE_INSUR_PRICE")
	private BigDecimal saleForceInsurPrice;// 交强险金额

	@MappingColumn(columnName = "SALE_BUSINESS_INSUR_PRICE")
	private BigDecimal saleBusinessInsurPrice;// 商业险金额

	@MappingColumn(columnName = "SALE_CREATE_TIME")
	private Date saleCreateTime;// 创建时间

	@MappingColumn(columnName = "SALE_UPDATE_TIME")
	private Date saleUpdateTime;// 修改时间

	@MappingColumn(columnName = "SALE_DEAL_USER_ID")
	private String saleDealUserId;// 成交员工ID

	@MappingTable(tableName = "ERP_USER")
	private User user;// 用户信息

	@MappingColumn(columnName = "CHANNEL_ID")
	private String channelId;// 渠道ID

	@MappingColumn(columnName = "PROVINCE_ID")
	private String provinceId;// 省ID

	@MappingTable(tableName = "BASE_PROVINCE")
	private Province province;// 省信息

	@MappingColumn(columnName = "CITY_ID")
	private String cityId;// 市ID

	@MappingTable(tableName = "BASE_CITY")
	private City city;// 市信息

	@MappingColumn(columnName = "CAR_ID")
	private String carId;// 车辆ID

	@MappingTable(tableName = "ERP_CAR")
	private Car car;// 车辆信息

	private String userId; // 创建用户ID

	public String getSaleId() {
		return saleId;
	}

	public void setSaleId(String saleId) {
		this.saleId = saleId;
	}

	public Integer getSaleType() {
		return saleType;
	}

	public void setSaleType(Integer saleType) {
		this.saleType = saleType;
	}

	public Date getSaleDealDate() {
		return saleDealDate;
	}

	public void setSaleDealDate(Date saleDealDate) {
		this.saleDealDate = saleDealDate;
	}

	public BigDecimal getSalePrice() {
		return salePrice;
	}

	public void setSalePrice(BigDecimal salePrice) {
		this.salePrice = salePrice;
	}

	public String getSaleRemark() {
		return saleRemark;
	}

	public void setSaleRemark(String saleRemark) {
		this.saleRemark = saleRemark;
	}

	public Integer getSalePayType() {
		return salePayType;
	}

	public void setSalePayType(Integer salePayType) {
		this.salePayType = salePayType;
	}

	public String getSaleMortgageName() {
		return saleMortgageName;
	}

	public void setSaleMortgageName(String saleMortgageName) {
		this.saleMortgageName = saleMortgageName;
	}

	public BigDecimal getSaleFirstPayment() {
		return saleFirstPayment;
	}

	public void setSaleFirstPayment(BigDecimal saleFirstPayment) {
		this.saleFirstPayment = saleFirstPayment;
	}

	public BigDecimal getSaleLoanLimit() {
		return saleLoanLimit;
	}

	public void setSaleLoanLimit(BigDecimal saleLoanLimit) {
		this.saleLoanLimit = saleLoanLimit;
	}

	public Integer getSaleMortgageCycle() {
		return saleMortgageCycle;
	}

	public void setSaleMortgageCycle(Integer saleMortgageCycle) {
		this.saleMortgageCycle = saleMortgageCycle;
	}

	public BigDecimal getSaleMortgagePrice() {
		return saleMortgagePrice;
	}

	public void setSaleMortgagePrice(BigDecimal saleMortgagePrice) {
		this.saleMortgagePrice = saleMortgagePrice;
	}

	public BigDecimal getSaleMortgageDeposit() {
		return saleMortgageDeposit;
	}

	public void setSaleMortgageDeposit(BigDecimal saleMortgageDeposit) {
		this.saleMortgageDeposit = saleMortgageDeposit;
	}

	public BigDecimal getSaleDeposit() {
		return saleDeposit;
	}

	public void setSaleDeposit(BigDecimal saleDeposit) {
		this.saleDeposit = saleDeposit;
	}

	public BigDecimal getSaleBalance() {
		return saleBalance;
	}

	public void setSaleBalance(BigDecimal saleBalance) {
		this.saleBalance = saleBalance;
	}

	public BigDecimal getSaleTransferFee() {
		return saleTransferFee;
	}

	public void setSaleTransferFee(BigDecimal saleTransferFee) {
		this.saleTransferFee = saleTransferFee;
	}

	public BigDecimal getSaleCommission() {
		return saleCommission;
	}

	public void setSaleCommission(BigDecimal saleCommission) {
		this.saleCommission = saleCommission;
	}

	public BigDecimal getSaleBillPrice() {
		return saleBillPrice;
	}

	public void setSaleBillPrice(BigDecimal saleBillPrice) {
		this.saleBillPrice = saleBillPrice;
	}

	public BigDecimal getSaleOtherPrice() {
		return saleOtherPrice;
	}

	public void setSaleOtherPrice(BigDecimal saleOtherPrice) {
		this.saleOtherPrice = saleOtherPrice;
	}

	public String getSaleBuyerMobile() {
		return saleBuyerMobile;
	}

	public void setSaleBuyerMobile(String saleBuyerMobile) {
		this.saleBuyerMobile = saleBuyerMobile;
	}

	public String getSaleBuyerName() {
		return saleBuyerName;
	}

	public String getSaleBuyerCardNo() {
		return saleBuyerCardNo;
	}

	public void setSaleBuyerCardNo(String saleBuyerCardNo) {
		this.saleBuyerCardNo = saleBuyerCardNo;
	}

	public void setSaleBuyerName(String saleBuyerName) {
		this.saleBuyerName = saleBuyerName;
	}

	public Integer getSaleInsuranceState() {
		return saleInsuranceState;
	}

	public void setSaleInsuranceState(Integer saleInsuranceState) {
		this.saleInsuranceState = saleInsuranceState;
	}

	public String getSaleInsuranceCompany() {
		return saleInsuranceCompany;
	}

	public void setSaleInsuranceCompany(String saleInsuranceCompany) {
		this.saleInsuranceCompany = saleInsuranceCompany;
	}

	public BigDecimal getSaleForceInsurPrice() {
		return saleForceInsurPrice;
	}

	public void setSaleForceInsurPrice(BigDecimal saleForceInsurPrice) {
		this.saleForceInsurPrice = saleForceInsurPrice;
	}

	public BigDecimal getSaleBusinessInsurPrice() {
		return saleBusinessInsurPrice;
	}

	public void setSaleBusinessInsurPrice(BigDecimal saleBusinessInsurPrice) {
		this.saleBusinessInsurPrice = saleBusinessInsurPrice;
	}

	public Date getSaleCreateTime() {
		return saleCreateTime;
	}

	public void setSaleCreateTime(Date saleCreateTime) {
		this.saleCreateTime = saleCreateTime;
	}

	public Date getSaleUpdateTime() {
		return saleUpdateTime;
	}

	public void setSaleUpdateTime(Date saleUpdateTime) {
		this.saleUpdateTime = saleUpdateTime;
	}

	public String getSaleDealUserId() {
		return saleDealUserId;
	}

	public void setSaleDealUserId(String saleDealUserId) {
		this.saleDealUserId = saleDealUserId;
	}

	public User getUser() {
		return user;
	}

	public void setUser(User user) {
		this.user = user;
	}

	public String getChannelId() {
		return channelId;
	}

	public void setChannelId(String channelId) {
		this.channelId = channelId;
	}

	public String getProvinceId() {
		return provinceId;
	}

	public void setProvinceId(String provinceId) {
		this.provinceId = provinceId;
	}

	public Province getProvince() {
		return province;
	}

	public void setProvince(Province province) {
		this.province = province;
	}

	public String getCityId() {
		return cityId;
	}

	public void setCityId(String cityId) {
		this.cityId = cityId;
	}

	public City getCity() {
		return city;
	}

	public void setCity(City city) {
		this.city = city;
	}

	public String getCarId() {
		return carId;
	}

	public void setCarId(String carId) {
		this.carId = carId;
	}

	public Car getCar() {
		return car;
	}

	public void setCar(Car car) {
		this.car = car;
	}

	public String getUserId() {
		return userId;
	}

	public void setUserId(String userId) {
		this.userId = userId;
	}
}
